home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCMania 73
/
PCMania CD73_1.iso
/
pcmania
/
render73
/
Foro
/
FUERTES
/
SUB_MK2
/
SS_MK2.INC
< prev
next >
Wrap
Text File
|
1998-08-05
|
10KB
|
433 lines
#ifndef (madera)
#include "marina.tex"
#end
#declare casco1=
union
{
sphere
{
0,20
scale <1.5,1,1>
clipped_by {plane {x,0}}
}
sphere
{
0,20
scale <4.5,1,1>
clipped_by {plane {-x,0}}
translate x*40
}
cylinder {<0,0,0>,<40,0,0>,20}
}
#declare lamina_casco=
difference
{
object{ casco1}
box {<-31,0,21>,<131,-21,-21>}
box {<-31,21,21>,<131,0,-21> rotate x*29}
bounded_by {box {<-31,15,21>,<131,-1,-21>}}
}
#declare refuerzos_casco=
union
{
difference //proa
{
sphere {0,20.5 scale <1.5,1,1> clipped_by {plane {x,0}}}
sphere {<0,20,-20>,20.5}
sphere {<0,20,20>,20.5}
sphere {<0,-20,20>,20.5}
sphere {<0,-20,-20>,20.5}
bounded_by {box {<-31,21,21>,<1,-21,-21>}}
}
cylinder {<30,0,0>,<35,0,0>,20.3} //1er refuerzo
cylinder {<0,0,0>,<5,0,0>,20.3} //2o refuerzo
difference //3er refuerzo y popa
{
sphere
{
0,20.3
scale <4.5,1,1>
clipped_by {plane {-x,0}}
translate x*40
}
box {<65,21,21>,<0,-21,-21>}
box {<70,21,21>,<90,-21,-21>}
}
#declare aa=15 //remaches
#while (aa<360)
sphere {0,1.5 scale <1,.75,1> translate <2.5,20.3,0> rotate x*aa}
sphere {0,1.5 scale <1,.75,1> translate <32.5,20.3,0> rotate x*aa}
sphere {0,1.5 scale <1,.75,1> translate <67.5,19,0> rotate x*aa}
sphere {0,1.5 scale <1,.75,1> translate <92,16,0> rotate x*aa}
#declare aa=aa+30
#end
sphere {0,1.5 scale <1,.75,1> translate <-15,18,0> }
sphere {0,1.5 scale <1,.75,1> translate <-15,18,0> rotate x*90}
sphere {0,1.5 scale <1,.75,1> translate <-15,18,0> rotate x*190}
sphere {0,1.5 scale <1,.75,1> translate <-15,18,0> rotate x*270}
texture{metal}
}
#declare espolon=
union
{
cone {<-20,0,0>,12.5,<-45,0,0>,2}
cone {<-50,0,0>,5,<-45,0,0>,2}
cone {<-50,0,0>,5,<-85,0,0>,0}
prism
{
linear_spline .15,-.15 12
<-30,0>,<-20,35>,<-35,10>,<-25,40>,<-50,10>,<-65,5>,<-50,25>,<-83,0>,<-35,-15>,
<-37,-10>,<-20,-20>,<-30,0> rotate x*-90
}
prism
{
linear_spline .15,-.15 9
<-30,0>,<-20,20>,<-35,10>,<-35,15>,<-83,0>,<-35,-15>,<-35,-10>,<-20,-20>,<-30,0>
}
prism
{
linear_spline .15,-.15 9
<-30,0>,<-20,20>,<-35,10>,<-35,15>,<-83,0>,<-35,-15>,<-35,-10>,<-20,-20>,<-30,0>
rotate x*45
}
prism
{
linear_spline .15,-.15 9
<-30,0>,<-20,20>,<-35,10>,<-35,15>,<-83,0>,<-35,-15>,<-35,-10>,<-20,-20>,<-30,0>
rotate x*-45
}
texture {metal}
}
#declare aleta1=
difference
{
union
{
cylinder { <0,0,.3>,<0,0,-.3>,29 }
cylinder { <0,.3,0>,<0,-.3,0>,29 }
}
box {<0,41,-41>,<41,-41,41>}
texture {madera}
}
#declare refuerzos_aleta=
union
{
difference
{
difference
{
cylinder {<0,0,.5>,<0,0,-.5>,30}
cylinder {<0,0,.6>,<0,0,-.6>,28}
}
box {<0,41,-41>,<41,-41,41>}
}
sphere {<-29,0,.5>,.5 rotate z*45}
sphere {<-29,0,.5>,.5 rotate z*-45}
sphere {<-29,0,.5>,.5 rotate z*88}
sphere {<-29,0,.5>,.5 rotate z*-88}
sphere {<-29,0,-.5>,.5 rotate z*45}
sphere {<-29,0,-.5>,.5 rotate z*-45}
sphere {<-29,0,-.5>,.5 rotate z*88}
sphere {<-29,0,-.5>,.5 rotate z*-88}
texture {metal}
}
#declare timones=
union
{
box {<-4,35,.5>,<0.001,-35,-.5>} //refuerzo
sphere {<-2.5,22.5,-.5>,.6} //remaches
sphere {<-2.5,-22.5,-.5>,.6} //remaches
sphere {<-2.5,22.5,.5>,.6} //remaches
sphere {<-2.5,-22.5,.5>,.6} //remaches
box {<-3,30,.65>,<3,34,-.65>} //bisagras
box {<-3,19,.65>,<3,15,-.65>} //bisagras
box {<-3,-30,.65>,<3,-34,-.65>} //bisagras
box {<-3,-19,.65>,<3,-15,-.65>} //bisagras
cylinder {<0,30,0>,<0,34,0>,1.5} //bisagras
cylinder {<0,19,0>,<0,15,0>,1.5} //bisagras
cylinder {<0,-30,0>,<0,-34,0>,1.5} //bisagras
cylinder {<0,-19,0>,<0,-15,0>,1.5} //bisagras
box {<1,38,.4>,<10,13,-.4>}
box {<1,-38,.4>,<10,-13,-.4>}
texture {metal}
}
#declare mandos=
union
{
box {<1,19.9,7>,<2,20.1,-7>}
cylinder {<1.5,20,6.5>,<-50,10,5>,.1}
cylinder {<1.5,20,-6.5>,<-50,10,-5>,.1}
texture {metal}
}
#declare aleta=
union
{
union
{
object {refuerzos_aleta}
object {refuerzos_aleta rotate x*90}
object {aleta1}
scale <1,1.3,1.3>
}
object {timones}
object {timones rotate x*90}
object {mandos}
object {mandos rotate x*90}
object {mandos rotate x*180}
object {mandos rotate x*270}
translate x*120
}
#declare pala=
union
{
box {<-3,2,.2>,<3,14,-.2> texture {madera}}
box {<-2.5,1,.3>,<-4,15,-.3> texture {metal}}
box {<2.5,1,.3>,<4,15,-.3> texture {metal}}
box {<4,14,.3>,<-4,15,-.3> texture {metal}}
box {<4,1,.3>,<-4,2,-.3> texture {metal}}
}
#declare helice=
union
{
#declare aa=0
#while (aa<360)
object {pala rotate y*45 rotate x*aa translate x*135}
#declare aa=aa+45
#end
difference
{
cylinder {<134.5,0,0>,<135.5,0,0>,15.5}
cylinder {<131,0,0>,<138,0,0>,15}
texture {metal}
}
}
#declare torreta1=
difference
{
union
{
cylinder {<-10,0,0>,<-10,15,0>,10}
box {<-10,0,10>,<0,15,-10>}
}
union
{
box {<-10,-1,-11>,<-10.2,16,11>}
box {<-21,-1,.1>,<1,16,-.1>}
cylinder {<-10,8,0>,<-22,8,0>,3.5}
cylinder {<-10,8,11>,<-10,8,-11>,3.5}
pigment {rgb 0}
}
texture {madera}
}
#declare refuerzos_torreta=
union
{
cylinder {<-10,-5,0>,<-10,2,0>,11}
box {<-10,-5,11>,<0,2,-11>}
#declare aa=0
#while (aa<181)
sphere {<0,1,-11>,1 rotate y*aa translate x*-10}
#declare aa=aa+45
#end
sphere {<-5,1,11>,1}
sphere {<-5,1,-11>,1}
texture {metal}
}
#declare ojo_de_buey=
union
{
difference
{
cylinder {<-8,8,0>,<-12,8,0>,4}
cylinder {<1,8,0>,<-13,8,0>,3}
}
torus {4,.1 rotate z*90 translate <-11,8,0> pigment {rgb 0}}
sphere {<-12,11.5,0>,.5}
sphere {<-12,4.5,0>,.5}
sphere {<-12,8,3.5>,.5}
sphere {<-12,8,-3.5>,.5}
sphere {0,3 scale <.2,1,1> translate <-10.5,8,0>
pigment {rgbt <1,1,1,.5>} finish {reflection .6 specular 1 diffuse 0}}
texture {metal}
}
#declare torreta2=
union
{
cylinder {<0,-5,0>,<0,15,0>,10.1 clipped_by {plane {-x,0}}}
sphere {<0,13,-10.1>,1 rotate y*-10}
sphere {<0,13,10.1>,1 rotate y*10}
sphere {<0,4,-10.1>,1 rotate y*-10}
sphere {<0,4,10.1>,1 rotate y*10}
texture {metal}
}
#declare escotilla_torreta=
union
{
cylinder {<5,10,0>,<5,16,0>,5}
#declare aa=0
#while (aa<360)
sphere {<0,0,4.5>,.5 rotate y*aa translate <5,16,0>}
#declare aa=aa+45
#end
sphere {0,4 scale <1,.25,1> translate <5,16,0>}
cylinder {<5,10,0>,<5,18.5,0>,.2}
cylinder {<5,18,1.5>,<5,18,-1.5>,.2}
cylinder {<3.5,18,0>,<6.5,18,0>,.2}
torus {1.5,.2 translate <5,18,0>}
box {<7,16,1>,<11,17.5,1.1>}
box {<7,16,-1>,<11,17.5,-1.1>}
box {<10,18,.9>,<11,10,.8>}
box {<10,18,-.9>,<11,10,-.8>}
cylinder {<10.5,16.5,-1.2>,<10.5,16.5,1.2>,.4}
texture {metal}
}
#declare puente=
union
{
box {<0,15,3>,<-10,16,-3>} //piso
cylinder {<-10,15,0>,<-10,16,0>,3} //piso
torus {10,1 clipped_by {plane {x,0}} translate <-10,15,0>}
cylinder {<0,15,-10>,<-10,15,-10>,1}
sphere {<0,15,-10>,1}
cylinder {<0,15,10>,<-10,15,10>,1}
sphere {<0,15,10>,1}
prism {linear_spline -10,-11 6 <0,15>,<0,20>,<-5,25>,<-10,25>,<-10,15>,<0,15> rotate x*-90}
prism {linear_spline 10,11 6 <0,15>,<0,20>,<-5,25>,<-10,25>,<-10,15>,<0,15> rotate x*-90}
difference
{
cylinder {<-10,15,0>,<-10,25,0>,11}
cylinder {<-10,14,0>,<-10,26,0>,10}
box {<-10,13,12>,<3,27,-12>}
}
torus {10,1 clipped_by {plane {x,0}} translate <-10,25,0>}
cylinder {<-5,25,-10>,<-10,25,-10>,1}
cylinder {<-5,25,10>,<-10,25,10>,1}
box {<0,15,-9>,<-2,20,-10>}
box {<0,15,9>,<-2,20,10>}
box {<-10,15,-9>,<-8,25,-10>}
box {<-10,15,9>,<-8,25,10>}
box {<-19.5,15,1>,<-18,25,-1>}
texture {metal}
}
#declare torreta=
union
{
object {torreta1}
object {refuerzos_torreta}
object {torreta2}
object {puente}
object {escotilla_torreta}
object {ojo_de_buey translate x*-10}
object {ojo_de_buey rotate y*90 translate x*-10}
object {ojo_de_buey rotate y*-90 translate x*-10}
}
#declare escotilla=
union
{
cylinder {<0,0,0>,<0,22,0>,8.1}
cylinder {<0,0,0>,<0,22.1,0>,8}
#declare aa=0
#while (aa<360)
sphere {<0,22.1,7.5>,.5 rotate y*aa}
#declare aa=aa+30
#end
sphere {0,7 scale <1,.25,1> translate y*22.1}
cylinder {<0,20,0>,<0,24.5,0>,.2}
cylinder {<-3,24,0>,<3,24,0>,.2}
cylinder {<0,24,-3>,<0,24,3>,.2}
torus {3,.2 translate <0,24,0>}
box {<4,23,2>,<10,22,2.2>}
box {<4,23,-2>,<10,22,-2.2>}
box {<8.2,23,1.9>,<10,20,1.7>}
box {<8.2,23,-1.9>,<10,20,-1.7>}
cylinder {<9,22,-2.3>,<9,22,2.3>,.5}
texture {metal}
}
#declare snorkel=
union
{
cylinder {<17,0,0>,<17,83,0>,2}
sphere {0,4 clipped_by {plane{-y,0}} translate <17,83,0>}
texture {metal}
}
#declare periscopio=
union
{
cylinder {<10,33,0>,<10,80,0>,2}
sphere {<10,80,0>,2}
difference
{
cylinder {<5,80,0>,<10,80,0>,2}
cylinder {<2,80,0>,<10,80,0>,1.5}
}
sphere {0,1.5 scale <.2,1,1> translate <6,80,0> pigment {rgb 1} finish {reflection 1}}
texture {metal}
}
#declare ss_mk2=
union
{
#declare aa=0
#while (aa<360)
object {lamina_casco rotate x*aa texture {madera translate (aa*35)*26}}
#declare aa=aa+30
#end
object {refuerzos_casco}
object {espolon}
object {aleta}
union //eje helice
{
cylinder {<120,0,0>,<140,0,0>,1}
sphere {<140,0,0>,1}
texture {metal}
}
object {helice}
object {torreta translate <20,20,0>}
object {snorkel}
object {periscopio}
object {escotilla translate x*50}
#ifdef (estela)
union
{
sphere { 0,1 hollow no_shadow pigment {rgbt 1}
halo { linear glowing turbulence .1 lambda 5 jitter 10
color_map { [0 rgbt 1] [.5 rgbt .5] [1 rgb 2] } }
clipped_by {plane {-x,0}} scale <7.5,1,1> }
sphere { 0,1 hollow no_shadow pigment {rgbt 1}
halo { linear glowing turbulence .1 lambda 5 jitter 10
color_map { [0 rgbt 1] [.5 rgbt .5] [1 rgb 2] } }
clipped_by {plane {x,0}} }
scale 30 translate x*135
}
#end
}